#!/usr/bin/env bash

# Copyright (c) 2025 Shenzhen Kaihong Digital Industry Development Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

srcdir=OrbbecSDK_v2-${pkgver}

extra_args=()
c_flags="${C_FLAGS}"
cxx_flags="${CXX_FLAGS}"
if [ "${arch}" != "${host_arch}" ]; then
    extra_args+=(-DCMAKE_SYSTEM_NAME=Linux) # cross-compiling
    extra_args+=(-DCMAKE_SYSTEM_PROCESSOR=${arch})
    cxx_flags+=" -Wno-error=#warnings"
fi

for i in unused-command-line-argument unknown-warning-option strict-prototypes declaration-after-statement format; do
    c_flags+=" -Wno-error=$i"
done
for i in unused-command-line-argument unknown-warning-option strict-prototypes declaration-after-statement missing-noreturn \
    suggest-override reserved-identifier unused-result missing-include-dirs format format-security suggest-destructor-override \
    packed sequence-point unsafe-buffer-usage switch-default compound-token-split-by-space; do
    cxx_flags+=" -Wno-error=$i"
done

cmake \
    -S ${srcdir} \
    -B build \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_LIBDIR=/usr/lib \
    -DCMAKE_C_FLAGS="${c_flags}" \
    -DCMAKE_CXX_FLAGS="${cxx_flags}" \
    -DOB_BUILD_EXAMPLES=OFF \
    ${extra_args[@]} \
    || exit 1
make -C build -j ${MAX_JOBS} || exit 1
